home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 22
/
Cream of the Crop 22.iso
/
program
/
share21.zip
/
MANUAL.TXT
< prev
next >
Wrap
Text File
|
1996-09-02
|
13KB
|
324 lines
TShareWare Component v2.1
For Delphi 16/32 Bit
Copyright 1996 RealSoft Development
TECHNICAL SUPPORT VIA E-MAIL 103256.3104@compuserve.com
COMPUSERVE REGISTRATION : GO SWREG # 11829 US $19.95
------------------------------------------------------------------------------------------
What is TShareWare?
TShareware is a custom Delphi component that allows you to control usage of
your Delphi programs by unregistered users. By dropping this component onto your
project and adding a few lines of code, you can start distributing "crippled" versions of
your programs, and hopefully receive many registrations. Shareware can be very
profitable for you, and beneficial to customers who like to "try before they buy"!
How Does it Work?
There are several types of shareware commonly seen in the software market today.
TShareWare supports three types: NagWare, CounterWare, and TimerWare. NagWare is
the most common type, and prompts users to register by displaying a popup dialog at
inconvienent times, sometimes frequently. Counterware "counts" how many times a user
runs a particular program, and notifies them when they have reached the limit. TimerWare
allows users to use a program for a specified time from the date of installing. A new
feature called Delphi_IDE allows your project or component to run in Delphi only.
The Secret File
To protect your TimerWare and CounterWare from cheaters who will definitely
try to beat the program by re-installing or changing the system date, TShareWare stores
it's information in a special file written to the user's WINDOWS directory. The only way
to restart the TimerWare or CounterWare is to delete this file. Fortunately, we have
provided several ways to disguise this file so users would have to find a needle in a
haystack! You are the only person who will know about the "secret" file.
Installing TShareWare
To install the TShareWare component, first create a subdirectory of DELPHI
called INTENSE or use another directory on your Delphi search path. Next, unzip the file
SHWARE.ZIP into the directory, and launch DELPHI. Next, in Delphi, select OPTIONS
| INSTALL COMPONENTS, click ADD, and then type in the location of the directory.
Locate the file called SHWARE.PAS and select it. Now press OK to rebuild the library.
A component group called INTENSE should appear, and TShareWare should be inside.
For Delphi2, you should copy all of the 32 bit files to a directory off of your Delphi2.0
search path and install the file SHWARE.PAS to your library from the COMPONENT
menu. The documentation is the same for both components. If you purchase the source
code, SHWARE.PAS will compile in both Delphi 16 and 32.
Making a Project Shareware
To use TShareWare in your Delphi project, first drop a TShareWare component
anywhere on your main form. You should then customize the component for your
program by modifying its properties (see list of properties). Whenever you need to display
the shareware dialog, add this line of code: Shareware1.Execute.
We suggest adding this line to your form's OnClose or OnCreate events. The
following line of code will check the status of the shareware to see if it has expired:
If Shareware1.ShareStatus = ssExpired then {do something}
That's all you'll need to use the basic features of the component.
Making a Component Shareware
To make a component shareware requires a more advanced understanding of
Delphi, and a few extra lines of code. To use TShareWare in your custom component,
add SHWARE to your component's USES clause. Next, add the following lines to your
component's CONSTRUCTOR, or another CAREFULLY chosen spot in your code:
Var
ShareWare1 : TShareWare;
Begin
ShareWare1 := TShareWare.Create(Self);
{modify shareware properties here}
ShareWare1.Execute;
{check shareware status if desired}
ShareWare1.Free;
end;
Note: Be careful where you place this code! If you place it in the wrong spot, you may
interfere with normal Delphi operations and cause problems. We advise not to place
TShareWare in the DESTRUCTOR or LOADED procedures.
Customizing TShareWare
By changing the properties of the TShareWare component, either at design-time or
at run-time, you can customize it for your program. The following pages define each of
TShareWare's properties and events. You should know what all of the properties do to
take full advantage of the component.
NOTE: DO NOT DISTRIBUTE SHWARE.PAS WITH YOUR PROGRAM FILES. USERS
SHOULD NOT HAVE ACCESS TO THE TSHAREWARE PROGRAM ITSELF!
TShareWare Properties and Events
property AutoPreview : (prOFF, prON)
By changing AutoPreview to prON, the ShareWare dialog will pop up exactly as it
will appear in your program. This will allow you to preview it at design-time.
property BlockHeader +
Blockheader contains nested properties about the first "block" of the dialog.
This is usually the title of the product or program.
property BlockHeader.AlignmentText : (taCenter, taLeft, taRight)
Aligns the text in the block.
property BlockHeader.BorderStyle : (bsNone, bsSingle)
Selects a border for the block
property BlockHeader.Color : TColor
Selects the background color for the block
property BlockHeader.Ctl3D : Boolean
Selects a 3-D look for the block
property BlockHeader.Font : TFont
Selects the font for the block
property BlockHeader.Lines : TStrings
Edits strings that make up the block text.
** Note: We have recognized a problem with the RZStringlist property editor
when used to edit BlockHeader Lines. This is not a problem with TShareWare, as
it appears the RZ editor was not designed for "nested" TStrings properties.
property BlockHeader.ScrollBars : (ssNone, ssVertical, ssHorizontal, ssBoth)
Enables scrollbars for the block text.
property BlockInfo +
Blockinfo contains nested properties about the second "block" of the dialog.
This is usually a brief or detailed description of the product, and registration terms.
property BlockInfo.AlignmentText : (taCenter, taLeft, taRight)
Aligns the text in the block.
property BlockInfo.BorderStyle : (bsNone, bsSingle)
Selects a border for the block
property BlockInfo.Color : TColor
Selects the background color for the block
property BlockInfo.Ctl3D : Boolean
Selects a 3-D look for the block
property BlockInfo.Font : TFont
Selects the font for the block
property BlockInfo.Lines : TStrings
Edits strings that make up the block text.
** Note: We have recognized a problem with the RZStringlist property editor
when used to edit BlockHeader Lines. This is not a problem with TShareWare, as
it appears the RZ editor was not designed for "nested" TStrings properties.
property BlockInfo.ScrollBars : (ssNone, ssVertical, ssHorizontal, ssBoth)
Enables scrollbars for the block text.
property BlockOrder +
BlockOrder contains nested properties about the first "block" of the dialog.
This is usually the ordering and pricing information about the product.
property BlockOrder.AlignmentText : (taCenter, taLeft, taRight)
Aligns the text in the block.
property BlockOrder.BorderStyle : (bsNone, bsSingle)
Selects a border for the block
property BlockOrder.Color : TColor
Selects the background color for the block
property BlockOrder.Ctl3D : Boolean
Selects a 3-D look for the block
property BlockOrder.Font : TFont
Selects the font for the block
property BlockOrder.Lines : TStrings
Edits strings that make up the block text.
** Note: We have recognized a problem with the RZStringlist property editor
when used to edit BlockHeader Lines. This is not a problem with TShareWare, as
it appears the RZ editor was not designed for "nested" TStrings properties.
property BlockOrder.ScrollBars : (ssNone, ssVertical, ssHorizontal, ssBoth)
Enables scrollbars for the block text.
property Caption : String
Sets the caption of the shareware dialog window
property Color : TColor
Sets the color of the shareware dialog form
property DisplayStatus : Boolean
Determines whether or not the dialog will display the registration status
at the bottom of the form.
property Enabled : boolean
Setting enabled to false will stop the dialog from being displayed
even if the Execute method is called.
property FileDate : String
Sets the date of the "secret file". We suggest using a date that will be difficult to
pick out from the other files in the WINDOWS directory. If you do not specify a
date, the current date will be used.
property FileHide : Boolean
Setting this property to true will make the "secret file" attribute hidden.
property FileName : String
This property contains the name of the "secret file". We suggest using a name that
will fool nosy users, such as WINDAT.DLL or any other disguising name.
**Note: If you do not specify a filename, the "secret file" will be disabled, and
TimerWare and CountWare will never change statuses!
property FileSize : Integer
Sets the size of the "secret file". For hiding purposes, we allow variable sizes.
You must specify a file size between 32 and 32,000 for the "secret file" to work.
property Font : TFont
Sets the font for the dialog. Only affects the ShareStatus label and button captions.
property MaxCount : Integer
Sets the maximum number of times that CountWare allows users run a program.
property MaxDays : Integer
Sets the maximum number of days that TimerWare allows users run a program.
property Name : String
Name of the component
property Password : String
Upon entering a password , a "register" button will appear on the dialog. Users
can then register the component at any time after purchasing a password from you.
property ShareStatus : (ssUnRegistered, ssRegistered, ssExpired, ssTampered)
ShareStatus allows you to check the current status of the shareware program.
You can use ShareStatus in your program to trigger other events in your program.
ssExpired means the user has exceeded the limit of TimerWare or CounterWare.
ssUnRegistered means the software has not been registered, but has not expired.
ssRegistered means the user has entered the correct password to register.
ssTampered means the user has modified the "secret file" or changed the date!
property ShareType : (stNagWare, stCounterWare, stTimerWare, stDelphi_IDE)
ShareType sets the type of shareware. Note that TimerWare and CounterWare
require other important properties to be set to work properly. If you set it to
Delphi_IDE, you can create a program that will only work while Delphi is running.
property SilentMode : boolean
SilentMode allows you to use the ShareStatus and Timer/Counter features of
TShareWare without displaying a dialog. You can use your own dialog based
upon ShareStatus if you wish.
** Note: ShareStatus is not updated until a call to EXECUTE is made. You
should turn SilentMode on, and then call EXECUTE before checking ShareStatus!
property Tag : Integer
Component tag.
Read-only property RemainCount : Integer
Contains current uses left in CounterWare.
Read-only property RemainDays : Integer
Contains current Days left in TimerWare.
event OnBeforeShow :
Occurs just before dialog is displayed.
event OnAfterShow :
Occurs just after dialog is displayed.
event OnRegister :
Occurs after correct password has been input, and status = ssRegistered.
method Execute :
Displays the TShareWare dialog and updates the ShareWare status.
method DelphiRunning : boolean
Allows you to determine if Delphi is running. Also used internally for
stDelphi_IDE. You can check if Delphi is Running, and if not, warn the
user that your application will terminate unless they register or run Delphi.
------------------------------------------------------------------------------------
IMPORTANT NOTE:
---------------
IF YOU ARE DISTRIBUTING TSHAREWARE IN ONE OF YOUR
COMPONENTS (IN .DCU FORM), YOU MUST COPY THE ENTIRE
CODE FROM SHWARE.PAS, AND ADD IT TO YOUR CODE TO BE
"COMPILED IN" TO IT. IF YOU ARE USING OUR DIALOG FORM,
YOU SHOULD ALSO INCLUDE THE .DFM FILE (RENAMING IT IS OK).
IF YOU DO NOT DO THIS, USERS WITHOUT TSHAREWARE WILL NOT
BE ABLE TO INSTALL YOUR COMPONENT! THEY WILL RECEIVE A
"UNIT SHWARE.DCU NOT FOUND" ERROR.
DISCLAIMER:
----------
USE THIS COMPONENT AT YOUR OWN RISK.
REALSOFT DEVELOPMENT WILL NOT BE HELD RESPONSIBLE FOR
LOSS OF SALES DUE TO IMPROPER USE, OR MALFUNCTION OF THIS
SOFTWARE.